<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // new 运算符；
      // new运算符作用：1.可以执行函数  2.自动创建一个空对象  3.把空对象和执行函数里的this绑定
      // 4.隐式返还这个对象；

      // 1.执行函数；
      // function fn(){
      //     console.log("fn");
      // }

      // // fn();
      // new fn();

      // 构造函数 ： 类的一种；
      function Tab(name) {
        // let obj = {}; //创建一个空对象；
        // obj--->this
        this.name = name;
        this.fn = function () {
          console.log("fn");
        };
        // return obj;
      }

      let tab1 = new Tab("张三");
      console.log(tab1);

      let tab2 = new Tab("李四");
      console.log(tab2);

      // 定义一个 狗类（属性：名称 动作：叫 ）  得到2个 小狗对象 （小黄，小黑） 小黄需要叫一声
      // 小黑需要间隔1s叫一声
    </script>
  </body>
</html>
